//package acm.蓝桥18;
//
//import java.util.Scanner;
//
///**
// * 思路：倒过来枚举
// * 枚举y和z
// * min.y=sqrt(l)
// * max.y=sqrt(r)
// * 枚举miny对应的maxz
// * 枚举maxy对应的最小z
// */
//public class A表达式个数 {
//    static int l, r;
//
//    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        l = sc.nextInt();
//        r = sc.nextInt();
//        int y = (int) Math.ceil(Math.sqrt(l));
//        int maxY = (int) Math.ceil(Math.sqrt(r));
//        long res = 0;
//        while (y <= maxY) {
//            res += 1 + getZ(y++);
//        }
//
//        System.out.println(res);
//    }
//
//    /**
//     * 寻找一个z使得，y-z>l
//     * @param y
//     * @return
//     */
//    public static int getZ(int y) {
//        int left = 1, right = y;
//        long yy = (long) y * y;
//        while (left <= right) {
//            int m = left + right >> 1;
//            if (yy - m * m >= l) {
//                left = m + 1;
//            } else {
//                right = m - 1;
//            }
//        }
//        if (yy-left*left>=l){
//            return left;
//        }
//        return right;
//    }
//}
